# 用字典存储每个数字在列表中出现的次数
# 以1为例：
# 第1次遇到1的时候，1不在字典中，向字典中添加键值对 1:1
# 第2次遇到1的时候，1在字典中，1:1，好数对个数 + 1,让1键对应的值+1，即1:2
# 第3次遇到1的时候，1在字典中，1:2，好数对个数 + 2,让1键对应的值+1，即1:3
# 其他数字同理

# 总结：
"""
如果数字i在字典中不存在，新增键值对：i:1
如果数字i在字典中存在，则好数对个数 + i键对应的值，并且i键对应的值+1
"""
nums = [1,1,1,1]
make_dict = {}
result = 0

for i in nums:
        # get()方法：get(键)，如何键存在返回键对应的值，如果键不存在，返回None或指定值
        # 将返回的值设为0，此时程序便可也简化为下述内容：

        result += make_dict.get(i,0)
        make_dict[i] = make_dict.get(i,0) + 1

print("好数对的个数:",result)